/**
 * 实现Promise的串行
 * 接收一个包含多个返回Promise对象的函数的数组
 * 返回一个Promise对象
 */
export default function inOrder(arr) {
  const res = []
  return new Promise((resolve,reject) => {
    arr.reduce((pre, cur) => {
      return pre.then(cur).then(data => res.push(data))
    },Promise.resolve()).then(() => resolve(res))
  })
}